//加班申请流程验证日期
jQuery(document).ready(function() {

    window.checkCustomize = () =>{
        var ygxmFieldid= WfForm.convertFieldNameToId("detail_resourceId","detail_1");//姓名
        var jbrqFieldid = WfForm.convertFieldNameToId("detail_fromDate","detail_1");//加班日期
        var bgtimeFieldid = WfForm.convertFieldNameToId("jhjbkssj","detail_1");//加班计划开始时间
        var endtimeFieldid = WfForm.convertFieldNameToId("jhjbjssj","detail_1");//加班计划开始时间

        //获取行
        var strRows=WfForm.getDetailAllRowIndexStr("detail_1");
        var rowsArray1=strRows.split(",");
        //1.将明细表数据放入数组中
        var arry=[];
        for (var i=0;i<rowsArray1.length;i++) {
            var rowIndex=parseInt(rowsArray1[i]);
            var ygIdVal=WfForm.getFieldValue(ygxmFieldid + "_" + rowIndex);
            var ygxmVal=$("#"+ygxmFieldid + "_" + rowIndex+"span").text();
            var jbrqVal=WfForm.getFieldValue(jbrqFieldid + "_" + rowIndex);
            var bgTimeVal=WfForm.getFieldValue(bgtimeFieldid + "_" + rowIndex);//加班开始时间
            var edTimeVal=WfForm.getFieldValue(endtimeFieldid + "_" + rowIndex);//加班结束时间
            var obj = new Object();
            obj.rowIndex=rowIndex;
            obj.ygid=ygIdVal;
            obj.ygxm=ygxmVal;
            obj.jbrq=jbrqVal;
            obj.jbkssj=jbrqVal+" "+bgTimeVal;
            obj.jbjssj=jbrqVal+" "+edTimeVal;
            arry.push(obj);
        }
        for(var i=0;i<arry.length-1;i++){
            var v1_ygxm=arry[i].ygxm;
            var v1_date1=arry[i].jbrq;
            var v1_begin=new Date(arry[i].jbkssj);//加班开始时间
            var v1_end=new Date(arry[i].jbjssj);//加班结束时间
            for (var j=i+1;j<arry.length;j++){
                var v2_ygxm=arry[j].ygxm;
                var v2_date12=arry[j].jbrq;
                var v2_begin=new Date(arry[j].jbkssj);//加班开始时间
                var v2_end=new Date(arry[j].jbjssj);//加班结束时间
                var result11=v1_begin.getTime()-v2_begin.getTime();//记录1的开始时间-记录二的开始时间
                var result12=v1_end.getTime()-v2_end.getTime();//记录1的结束时间-记录二的开始时间
                if(v1_date1==v2_date12 && v1_ygxm==v2_ygxm) {
                    if (result11 < 0 && result12 > 0) {//记录1的开始时间小于记录二的开始时间，并且记录1的结束时间小于记录二的结束时间
                        console.log("记录1的开始时间结束时间小于记录2的开始时间结束时间，时间不冲突")
                        continue;
                    } else if (result11 > 0 && result12 < 0) {//记录1的开始时间大于记录二的开始时间，并且记录1的结束时间大于记录二的结束时间
                        console.log("记录1的开始时间结束时间大于记录2的开始时间结束时间，时间不冲突")
                        continue;
                    } else if (v1_begin <= v2_begin && v1_end >= v2_end) {
                        console.log("员工姓名1："+v1_ygxm+"加班日期1："+v1_date1+"加班开始时间1："+arry[i].jbkssj+"加班结束时间1："+arry[i].jbkssj);
                        console.log("员工姓名2："+v2_ygxm+"加班日期2："+v2_date12+"加班开始时间2："+arry[j].jbkssj+"加班结束时间2："+arry[j].jbkssj);
                        Dialog.alert("人员【" + v1_ygxm + "】在日期【" + v1_date1 + "】存在重复时间段记录！");
                        return false;
                    }
                }
            }
        }
        return true;
    }
});